package edu.scsw.tech.unit2;

import java.util.Arrays;
import java.util.Random;

public class ArrayOperations {

    public static void main(String[] args) {
        // 初始化数组
        int[] array = initializeArray(10);

        // 打印数组
        System.out.println("初始化的数组：" + Arrays.toString(array));

        // 计算总和
        int sum = calculateSum(array);
        System.out.println("数组元素总和：" + sum);

        // 计算平均值
        double average = calculateAverage(array);
        System.out.printf("数组元素平均值：%.2f\n", average);
    }

    /**
     * 初始化一个一维整数数组，数组的元素为随机生成的1到100之间的整数。
     *
     * @param size 数组的大小
     * @return 返回初始化后的数组
     */
    public static int[] initializeArray(int size) {
        int[] array = new int[size];
        Random random = new Random();
        for (int i = 0; i < array.length; i++) {
            array[i] = random.nextInt(100) + 1; // 生成1到100的随机整数
        }
        return array;
    }

    /**
     * 计算数组中所有元素的总和。
     *
     * @param array 数组
     * @return 返回数组元素的总和
     */
    public static int calculateSum(int[] array) {
        int sum = 0;
        for (int num : array) {
            sum += num;
        }
        return sum;
    }

    /**
     * 计算数组中所有元素的平均值。
     *
     * @param array 数组
     * @return 返回数组元素的平均值
     */
    public static double calculateAverage(int[] array) {
        return (double) calculateSum(array) / array.length;
    }
}
